# Configuration for Alacritty, the GPU enhanced terminal emulator.

# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
env:
  # TERM variable
  #
  # This value is used to set the `$TERM` environment variable for
  # each instance of Alacritty. If it is not present, alacritty will
  # check the local terminfo database and use `alacritty` if it is
  # available, otherwise `xterm-256color` is used.
  TERM: alacritty
  LANG: "en_US.UTF-8"
  LC_CTYPE: en_US.UTF-8
  #window:
  # Window background opacity
  #
  # Specified in floating number from `0.0` to `1.0`.
  # The value `0.0` is completely transparent and `1.0` is opaque.
  #opacity: 1.0
  # Window dimensions (changes require restart)
  #
  # Specified in number of columns/lines, not pixels.
  # If both are `0`, this setting is ignored.
  #dimensions:
  #  columns: 0
  #  lines: 0
  # Window position (changes require restart)
  #
  # Specified in number of pixels.
  # If the position is not set, the window manager will handle the placement.
  #position:
  #  x: 0
  #  y: 0
  # Window padding (changes require restart)
  #
  # Blank space added around the window in pixels. This padding is scaled
  # by DPI and the specified value is always added at both opposing sides.
  #padding:
  #  x: 0
  #  y: 0
  # Spread additional padding evenly around the terminal content.
  #dynamic_padding: false
  # Window decorations
  #
  # Values for `decorations`:
  #     - full: Borders and title bar
  #     - none: Neither borders nor title bar
  #
  # Values for `decorations` (macOS only):
  #     - transparent: Title bar, transparent background and title bar buttons
  #     - buttonless: Title bar, transparent background, but no title bar buttons
  #decorations: full
  # Startup Mode (changes require restart)
  #
  # Values for `startup_mode`:
  #   - Windowed
  #   - Maximized
  #   - Fullscreen
  #
  # Values for `startup_mode` (macOS only):
  #   - SimpleFullscreen
  #startup_mode: Windowed
  # Window title
  #title: Alacritty
  # Window class (Linux/BSD only):
  #class:
  # Application instance name
  #instance: Alacritty
  # General application class
  #general: Alacritty
  # GTK theme variant (Linux/BSD only)
  #
  # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
  # Set this to `None` to use the default theme variant.
  #gtk_theme_variant: None
  #scrolling:
  # Maximum number of lines in the scrollback buffer.
  # Specifying '0' will disable scrolling.
  #history: 10000
  # Number of lines the viewport will move for every line scrolled when
  # scrollback is enabled (history > 0).
  #multiplier: 3

# Font configuration
font:
  # Normal (roman) font face
  normal:
    # Font family
    #
    # Default:
    #   - (macOS) Menlo
    #   - (Linux/BSD) monospace
    #   - (Windows) Consolas
    family: "monospace"
    
    # The `style` can be specified to pick a specific face.
    style: Regular
    # Bold font face
    #bold:
    # Font family
    #
    # If the bold family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: monospace
    # The `style` can be specified to pick a specific face.
    #style: Bold
    # Italic font face
    #italic:
    # Font family
    #
    # If the italic family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: monospace
    # The `style` can be specified to pick a specific face.
    #style: Italic
    # Bold italic font face
    #bold_italic:
    # Font family
    #
    # If the bold italic family is not specified, it will fall back to the
    # value specified for the normal font.
    #family: monospace
    # The `style` can be specified to pick a specific face.
    #style: Bold Italic

  # Point size
  size: 16.0
  # Offset is the extra space around each character. `offset.y` can be thought of
  # as modifying the line spacing, and `offset.x` as modifying the letter spacing.
  #offset:
  #  x: 0
  #  y: 0
  # Glyph offset determines the locations of the glyphs within their cells with
  # the default being at the bottom. Increasing `x` moves the glyph to the right,
  # increasing `y` moves the glyph upwards.
  #glyph_offset:
  #  x: 0
  #  y: 0

# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
schemes:
  # Tokyo Night theme, based on both:
  #   https://github.com/ghifarit53/tokyonight-vim
  #   https://github.com/enkia/tokyo-night-vscode-theme
  tokyo-night: &tokyo-night
    # Default colors
    primary:
      background: '#1a1b26'
      foreground: '#a9b1d6'

    # Normal colors
    normal:
      black:   '#32344a'
      red:     '#f7768e'
      green:   '#9ece6a'
      yellow:  '#e0af68'
      blue:    '#7aa2f7'
      magenta: '#ad8ee6'
      cyan:    '#449dab'
      white:   '#787c99'

    # Bright colors
    bright:
      black:   '#444b6a'
      red:     '#ff7a93'
      green:   '#b9f27c'
      yellow:  '#ff9e64'
      blue:    '#7da6ff'
      magenta: '#bb9af7'
      cyan:    '#0db9d7'
      white:   '#acb0d0'

  tokyo-night-storm: &tokyo-night-storm
    # Default colors
    primary:
      background: '#24283b'
      foreground: '#a9b1d6'

    # Normal colors
    normal:
      black:   '#32344a'
      red:     '#f7768e'
      green:   '#9ece6a'
      yellow:  '#e0af68'
      blue:    '#7aa2f7'
      magenta: '#ad8ee6'
      cyan:    '#449dab'
      white:   '#9699a8'

    # Bright colors
    bright:
      black:   '#444b6a'
      red:     '#ff7a93'
      green:   '#b9f27c'
      yellow:  '#ff9e64'
      blue:    '#7da6ff'
      magenta: '#bb9af7'
      cyan:    '#0db9d7'
      white:   '#acb0d0'

theme: tokyo-night
colors: *tokyo-night
